package com.ruoyi.zhgd.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 沥青拌合站数据业务对象 n_asphalt_data_ratio
 *
 * @author zyb
 * @date 2023-09-06
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class NAsphaltDataRatioBo extends BaseEntity {

    /**
     * 数据主键
     */
    @NotBlank(message = "数据主键不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 沥青内掺占比
     */
    @NotNull(message = "沥青内掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal asphaltRatioN;

    /**
     * 骨料1内掺占比
     */
    @NotNull(message = "骨料1内掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal gravel1RatioN;

    /**
     * 骨料2内掺占比
     */
    @NotNull(message = "骨料2内掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal gravel2RatioN;

    /**
     * 骨料3内掺占比
     */
    @NotNull(message = "骨料3内掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal gravel3RatioN;

    /**
     * 骨料4内掺占比
     */
    @NotNull(message = "骨料4内掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal gravel4RatioN;

    /**
     * 骨料5内掺占比
     */
    @NotNull(message = "骨料5内掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal gravel5RatioN;

    /**
     * 骨料6内掺占比
     */
    @NotNull(message = "骨料6内掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal gravel6RatioN;

    /**
     * 粉料1内掺占比
     */
    @NotNull(message = "粉料1内掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal powder1RatioN;

    /**
     * 粉料2内掺占比
     */
    @NotNull(message = "粉料2内掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal powder2RatioN;

    /**
     * 粉料3内掺占比
     */
    @NotNull(message = "粉料3内掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal powder3RatioN;

    /**
     * 再生料内掺占比
     */
    @NotNull(message = "再生料内掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal recycledMaterialRatioN;

    /**
     * 沥青外掺占比
     */
    @NotNull(message = "沥青外掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal asphaltRatioW;

    /**
     * 骨料1外掺占比
     */
    @NotNull(message = "骨料1外掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal gravel1RatioW;

    /**
     * 骨料2外掺占比
     */
    @NotNull(message = "骨料2外掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal gravel2RatioW;

    /**
     * 骨料3外掺占比
     */
    @NotNull(message = "骨料3外掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal gravel3RatioW;

    /**
     * 骨料4外掺占比
     */
    @NotNull(message = "骨料4外掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal gravel4RatioW;

    /**
     * 骨料5外掺占比
     */
    @NotNull(message = "骨料5外掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal gravel5RatioW;

    /**
     * 骨料6外掺占比
     */
    @NotNull(message = "骨料6外掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal gravel6RatioW;

    /**
     * 粉料1外掺占比
     */
    @NotNull(message = "粉料1外掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal powder1RatioW;

    /**
     * 粉料2外掺占比
     */
    @NotNull(message = "粉料2外掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal powder2RatioW;

    /**
     * 粉料3外掺占比
     */
    @NotNull(message = "粉料3外掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal powder3RatioW;

    /**
     * 再生料外掺占比
     */
    @NotNull(message = "再生料外掺占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal recycledMaterialRatioW;

    /**
     * 级配类型
     */
    @NotNull(message = "级配类型", groups = { AddGroup.class, EditGroup.class })
    private String matchType;

    /**
     * 级配code
     */
    @NotNull(message = "级配code", groups = { AddGroup.class, EditGroup.class })
    private String matchCode;

    /**
     * 时间
     */
    @NotNull(message = "时间", groups = { AddGroup.class, EditGroup.class })
    private String day;

    /**
     * 拌合楼id
     */
    @NotNull(message = "拌合楼id", groups = { AddGroup.class, EditGroup.class })
    private String stationId;

    /**
     * 拌合楼code
     */
    @NotNull(message = "拌合楼code", groups = { AddGroup.class, EditGroup.class })
    private String stationCode;

    @NotNull(message = "", groups = { AddGroup.class, EditGroup.class })
    private String deptPkid;
    @NotNull(message = "", groups = { AddGroup.class, EditGroup.class })
    private String baseCode;
    @NotNull(message = "", groups = { AddGroup.class, EditGroup.class })
    private String matchName;
    @NotNull(message = "", groups = { AddGroup.class, EditGroup.class })
    private String matchCodeLike;
    @NotNull(message = "", groups = { AddGroup.class, EditGroup.class })
    private String startDate;
    @NotNull(message = "", groups = { AddGroup.class, EditGroup.class })
    private String endDate;
    @NotNull(message = "", groups = { AddGroup.class, EditGroup.class })
    private String year;
    @NotNull(message = "", groups = { AddGroup.class, EditGroup.class })
    private String month;
}
